Skip to content

Split building-native-ui into building-native-ui + expo-router#99

Merged
Ubax merged 5 commits into
mainfrom
split-expo-router-skill
Jul 6, 2026
Merged

Split building-native-ui into building-native-ui + expo-router#99
Ubax merged 5 commits into
mainfrom
split-expo-router-skill

Conversation

@Ubax

@Ubax Ubax commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

What

Splits the building-native-ui skill into two focused skills:

  • building-native-ui (kept) — visual UI: Apple HIG styling, semantic colors, native controls, SF Symbols, media, animations, visual effects, gradients, storage, responsive layout.
  • expo-router (new) — navigation/routing: file-based routes, Link (previews + context menus), native Stack, page titles, modals, form sheets, NativeTabs, headers/toolbars, header search bars.

Changes

  • Moved 6 references (git mv, no rewrites) into expo-router/references/: route-structure, tabs, toolbar-and-headers, form-sheet, search, zoom-transitions. The 8 visual references stay in building-native-ui.
  • Moved the Routes + Navigation sections into the new expo-router/SKILL.md. Duplicated only a minimal shared context (Color note, @react-navigationexpo-router/react-navigation pref) so expo-router stands alone.
  • Rewrote both descriptions to remove scope overlap; each links to the other.
  • Added expo-router/agents/openai.yaml.
  • Registered expo-router in skills.sh.json (App Design group), root README.md table, plugin README.md, and the eval runtime-matrix.md.
  • Re-pointed cross-skill references (web-to-native, expo-examples) that referenced NativeTabs / large titles / zoom-transitions.md from building-native-ui to expo-router.

Verification

  • claude plugin validate ./plugins/expo
  • python3 -m json.tool skills.sh.json
  • bun scripts/check-skill-limits.ts ✔ (all skills within description/body limits)
  • Fresh review agent confirmed a clean split: References blocks match the files present, descriptions disjoint, no navigation content left in building-native-ui, no visual leakage into expo-router.

@Ubax Ubax marked this pull request as ready for review July 2, 2026 18:49
@Ubax Ubax requested a review from Kudo July 2, 2026 18:49

@Kudo Kudo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the helping. good to add "using .ios.tsx / .android.tsx in src/app/ (route root) is an anti-pattern) should create platform components inside components/ but not route root.

Ubax added 5 commits July 6, 2026 12:11
Separate the navigation/routing half of building-native-ui into a new
expo-router skill so each has a sharper trigger and an agent loads only
the half it needs.

- Move 6 navigation references (route-structure, tabs, toolbar-and-headers,
  form-sheet, search, zoom-transitions) into expo-router/references/
- Move the Routes + Navigation sections into the new expo-router SKILL.md,
  duplicating only a minimal shared context (Color note, @react-navigation
  pref, brief Expo Go note) so it stands alone
- Rewrite both skill descriptions to remove scope overlap
- Register expo-router in skills.sh.json, both READMEs, and eval runtime-matrix
- Re-point cross-skill references (web-to-native, expo-examples) at expo-router
@Ubax Ubax force-pushed the split-expo-router-skill branch from 5a4cc62 to 5d04542 Compare July 6, 2026 10:13
@Ubax

Ubax commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

thanks for the helping. good to add "using .ios.tsx / .android.tsx in src/app/ (route root) is an anti-pattern) should create platform components inside components/ but not route root.

I'll create a follow-up PR for that

@Ubax Ubax merged commit 06fcc81 into main Jul 6, 2026
2 checks passed
@Ubax Ubax deleted the split-expo-router-skill branch July 6, 2026 10:17
jonsamp added a commit that referenced this pull request Jul 6, 2026
Prefix every skill with expo-* (framework/OSS) or eas-* (paid EAS
service), and prefix each description with "Framework (OSS)." or
"EAS service (paid)." so the free/paid boundary is visible in the
always-loaded metadata and /expo- / /eas- discovery works.

Renames to established product names:
- building-native-ui (visual guide) -> expo-native-ui; navigation
  stays in the expo-router skill, matching the #99 split
- native-data-fetching -> expo-data-fetching
- use-dom -> expo-dom
- web-to-native -> expo-web-to-native
- add-app-clip -> expo-app-clip
- upgrading-expo -> expo-upgrade
- expo-observe -> eas-observe
- expo-cicd-workflows -> eas-workflows
- expo-deployment -> eas-app-stores (web deploy split into eas-hosting)
- expo-api-routes -> eas-hosting

Add CONTRIBUTING.md with documented patterns, CI checks for skill
limits and plugin version bump, and bump the expo plugin to 1.7.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jonsamp added a commit that referenced this pull request Jul 7, 2026
* Organize skills with expo-* and eas-* naming

Prefix every skill with expo-* (framework/OSS) or eas-* (paid EAS
service), and prefix each description with "Framework (OSS)." or
"EAS service (paid)." so the free/paid boundary is visible in the
always-loaded metadata and /expo- / /eas- discovery works.

Renames to established product names:
- building-native-ui (visual guide) -> expo-native-ui; navigation
  stays in the expo-router skill, matching the #99 split
- native-data-fetching -> expo-data-fetching
- use-dom -> expo-dom
- web-to-native -> expo-web-to-native
- add-app-clip -> expo-app-clip
- upgrading-expo -> expo-upgrade
- expo-observe -> eas-observe
- expo-cicd-workflows -> eas-workflows
- expo-deployment -> eas-app-stores (web deploy split into eas-hosting)
- expo-api-routes -> eas-hosting

Add CONTRIBUTING.md with documented patterns, CI checks for skill
limits and plugin version bump, and bump the expo plugin to 1.7.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Fix mangled EXPO_PUBLIC_ in expo-data-fetching quick reference

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants